// 通过connect把 state 和 dispatch 通过 props属性垂直映射到 ui组件
import { connect } from "react-redux"
import Products from "../components(UI组件)/products"
import { getProducts,addToCart } from "../actions"
// 1.映射state
const mapStateToProps = (state) => {
    return {
       foo:state.productsReducer.foo, 
       all:state.productsReducer.all 
       // 此时会得到一个数组。 
    }
}

// 2.映射dispatch
const mapDispatchToProps = (dispatch) => {
    return {
        // 此处定义一个方法，此方法会垂直映射到products的UI组件里面。
        getProducts(){  // 真正的dispatch
            dispatch(getProducts())
        },
        // 添加到购物车
        pushCart(item){
            addToCart(dispatch,item)
        }
    }
}

// 高阶组件：

let ProductsContainer = connect(mapStateToProps,mapDispatchToProps)(Products)
export default ProductsContainer